As the number of applications and services provided over the Internet and continues to increase, the amount of electronic content, applications and services used by individuals, enterprises, and the like also continues to rise significantly.
In the modern globalized economy, enterprises are becoming increasingly reliant on the use of networked resources and web-based applications, provided through the Internet or through private networks (e.g., corporate intranets). As the number of network-based applications and services continues to increase, the amount of electronic content, applications and services used by individuals, enterprises, and the like also continues to rise significantly. Moreover, management of networked resources and content is made more difficult by the fact that end users (e.g., employees) may be located in tens or hundreds of different locations. Similarly, mid-sized and large enterprises may maintain multiple data centers around the world.
Accordingly, systems have been developed for archiving or synchronizing data between remote locations (e.g., between an end user and a data center or between data centers). However, the costs of data synchronization and distributed storage increase proportionally with the amount of data being stored and the overhead required for transmission. Bandwidth limitations provide an additional physical bottleneck, as infrastructure may not be available to provide rapid transmission of data between locations, such as between geographically distant locations or on a local intranet that simply lacks high-speed transmission capabilities. Similarly, unreliable network connections can disrupt the transmission of large files, necessitating retransmission and a concomitant increase in cost.
In view of these limitations, synchronization of large files or large collections of files (e.g., terabytes of data) can be especially cost prohibitive for organizations and enterprises with a large, distributed network of users and/or resources. In order to address bandwidth limitations, enterprises may opt to maintain multiple copies of the same data, e.g., by caching content locally or using multiple data centers, so that a local or nearby copy is available for end users at various locations. However, the use of such policies creates security concerns, as the likelihood of data being inadvertently or inappropriately accessed internally, or stolen by a third party, increases directly with the number of copies in existence.
As a result, there remains a need to provide a more efficient, secure and cost-saving technique for storing and synchronizing encrypted data content, especially between a large number of users and/or multiple data centers.